package haha.life.normal;

import org.apache.shiro.crypto.hash.SimpleHash;

public class PwdUtils {
    public static Boolean checkPwd (String pwd,String pwdHash,String salt) {
        String hashAlgorithmName = "MD5";//加密方式
        int hashIterations = 1;//加密的次数 可以为1024 这里为1 次
        Object result = new SimpleHash(hashAlgorithmName, pwd, salt, hashIterations);
        String resultStr = result.toString();
        System.out.println("\n验证密码");
        System.out.println("明文密码:"+pwd);
        System.out.println("salt:"+salt);
        System.out.println("哈希密码:明文密码 + salt :"+resultStr);

        System.out.println("数据库中的哈希密码:"+pwdHash);
        System.out.println("验证结果:"+pwdHash.equals(resultStr));
        if (pwdHash.equals(resultStr)){
            return true;
        }else{
            return false;
        }
    }

    public static String  generatePwdByID_Salt(String pwd,String salt){
        String hashAlgorithmName = "MD5";//加密方式
        int hashIterations = 1;//加密的次数 可以为1024 这里为1 次
        Object result = new SimpleHash(hashAlgorithmName, pwd, salt, hashIterations);
        String resultStr = result.toString();
        System.out.println("\n明文密码 + salt --> 哈希密码");
        System.out.println("明文密码:"+pwd);
        System.out.println("salt:"+salt);
        System.out.println("哈希密码:"+resultStr);
        return resultStr;
    }
}
